//===========================================================================
/**
 * @file	field_picture.h
 * @brief	フィールド記念撮影
 * @author	Nozomu Saito
 * @date	2008.01.30
 *
 */
//===========================================================================

#ifndef __FIELD_PICTURE_H__
#define __FIELD_PICTURE_H__

#include "common.h"
#include "fieldsys.h"
#include "savedata/picture_util.h"

typedef struct _SUBLCD_PICTDATA{
	const PICTURE_DATA* pic;
	u8		pic_idx;
	u8		pic_max;
}SUBLCD_PICTDATA;

typedef enum{
 PICTVIEWER_REQ_NULL,
 PICTVIEWER_REQ_BACK,
 PICTVIEWER_REQ_PREV,
 PICTVIEWER_REQ_NEXT,
}PICTVIEWER_REQ;

///外部公開用定義
typedef struct _FIELD_ALBUM_EVENT FLD_ALBUM_EVENT;


#ifdef PM_DEBUG
extern void FldPicture_SetEvent(FIELDSYS_WORK * fsys);
#endif

//--------------------------------------------------------------------------------------------
/**
 * イベント フォトアルバム利用フローワークからサブスクリーン表示に必要な情報を取得
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void FieldAlbumEvent_GetPictureData(FLD_ALBUM_EVENT* fae,SUBLCD_PICTDATA* dat);
//--------------------------------------------------------------------------------------------
/**
 * イベント サブスクリーン制御タスク側からViewerMainを制御するリクエストを発行
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void FieldAlbumEvent_PictViewerMainControlReq(FLD_ALBUM_EVENT* fae,PICTVIEWER_REQ req);


//--------------------------------------------------------------------------------------------
/**
 * イベント フォトアルバム利用フロー
 *
 * @param	fsys	フィールドシステムポインタ
 * @param	inX		撮影X座標
 * @param	inZ		撮影Z座標
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void EventCmd_CallFieldAlbum(FIELDSYS_WORK * fsys);
//--------------------------------------------------------------------------------------------
/**
 * イベント フォトアルバム呼び出しイベントコール
 *
 * @param	fsys	フィールドシステムポインタ
 * @param	ret_p	アプリ呼び出しの戻り値格納ポインタ
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void EventCmd_CallAlbumApp(FIELDSYS_WORK * fsys,int* ret_p);

extern void FldPicture_CallEvent(FIELDSYS_WORK * fsys);
extern void FldPicture_CallTakePicEvent(FIELDSYS_WORK * fsys, const u16 inPicPoint);
extern void FldPicture_MakeData(PICTURE_DATA* pic_data,FIELDSYS_WORK * fsys, const u8 view_point,
								int zoneID,const int inX, const int inZ,
								const int inDelMdl1, const int inDelMdl2,
								const u16 inRestObjID, const u16 inAddObjCode);

#endif	//__FIELD_PICTURE_H__
